Technologies for remotely controlling a computing device via a wearable computing device

ABSTRACT

Technologies for remotely controlling a separate computing device includes a wearable computing device to receive sensor data from an optical sensor of the wearable computing device. The sensor data comprises data is indicative of a skin surface of a forearm of a user of the wearable computing device. The wearable computing device generates control data based on the received sensor data. The generated control data is transmitted to the separate computing device. In some embodiments, an x-coordinate is generated based on detection of longitudinal movement of the wearable computing device relative to the skin surface of the forearm of the user and a y-coordinate is generated based on detection of rotational movement of the wearable computing device relative to the skin surface of the forearm of the user.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. application Ser.No. 14/228,875, entitled “TECHNOLOGIES FOR REMOTELY CONTROLLING ACOMPUTING DEVICE VIA A WEARABLE COMPUTING DEVICE,” which was filed onMar. 28, 2014.

BACKGROUND

Modern consumer electronic devices such as laptops, desktops, mobilecomputing devices, televisions, audio devices, and video devices havebecome ubiquitous with everyday life so much so that it is not uncommonfor a person to interact with a large number of such devices throughoutthe day. As a result, consumer electronic devices are increasinglyfinding their way into consumers' homes. Each consumer electronic devicetypically requires a bulky remote control for device interaction andcontrol.

Mobile computing devices have become important tools for personal,business, and social uses. The portability of mobile computing devicesis increasing as the size of the devices decrease and processing powerincreases. In fact, many mobile computing devices are sized to behand-held and/or worn by the user to improve ease of use. Further, manymodern mobile computing devices are capable of communicating with otherdevices and/or connecting to various data networks, including theInternet, to retrieve and receive data communications. As such, modernmobile computing devices are powerful, often personal, tools untetheredto a particular location.

BRIEF DESCRIPTION OF THE DRAWINGS

The concepts described herein are illustrated by way of example and notby way of limitation in the accompanying figures. For simplicity andclarity of illustration, elements illustrated in the figures are notnecessarily drawn to scale. Where considered appropriate, referencelabels have been repeated among the figures to indicate corresponding oranalogous elements.

FIG. 1 is a simplified block diagram of at least one embodiment of asystem for remotely controlling a computing device;

FIG. 2 is an illustrative embodiment of the wearable computing device ofthe system of FIG. 1 worn on the forearm or wrist of a user;

FIG. 3 is a simplified cross-section diagram wearable computing deviceof FIG. 2 worn on the forearm or wrist of a user;

FIG. 4 is a simplified block diagram of at least one embodiment of anenvironment of the wearable computing device of FIG. 1; and

FIG. 5 is a simplified flow diagram of at least one embodiment of amethod for remotely controlling a computing device that may be executedby the wearable computing device of FIGS. 1 and 4.

DETAILED DESCRIPTION OF THE DRAWINGS

While the concepts of the present disclosure are susceptible to variousmodifications and alternative forms, specific embodiments thereof havebeen shown by way of example in the drawings and will be describedherein in detail. It should be understood, however, that there is nointent to limit the concepts of the present disclosure to the particularforms disclosed, but on the contrary, the intention is to cover allmodifications, equivalents, and alternatives consistent with the presentdisclosure and the appended claims.

References in the specification to “one embodiment,” “an embodiment,”“an illustrative embodiment,” etc., indicate that the embodimentdescribed may include a particular feature, structure, orcharacteristic, but every embodiment may or may not necessarily includethat particular feature, structure, or characteristic. Moreover, suchphrases are not necessarily referring to the same embodiment. Further,when a particular feature, structure, or characteristic is described inconnection with an embodiment, it is submitted that it is within theknowledge of one skilled in the art to effect such feature, structure,or characteristic in connection with other embodiments whether or notexplicitly described. Additionally, it should be appreciated that itemsincluded in a list in the form of “at least one of A, B, and C” can mean(A); (B); (C); (A and B); (A and C); (B and C); or (A, B, and C).Similarly, items listed in the form of “at least one of A, B, or C” canmean (A); (B); (C); (A and B); (A and C); (B and C); or (A, B, and C).

The disclosed embodiments may be implemented, in some cases, inhardware, firmware, software, or any combination thereof. The disclosedembodiments may also be implemented as instructions carried by or storedon one or more transitory or non-transitory machine-readable (e.g.,computer-readable) storage medium, which may be read and executed by oneor more processors. A machine-readable storage medium may be embodied asany storage device, mechanism, or other physical structure for storingor transmitting information in a form readable by a machine (e.g., avolatile or non-volatile memory, a media disc, or other media device).

In the drawings, some structural or method features may be shown inspecific arrangements and/or orderings. However, it should beappreciated that such specific arrangements and/or orderings may not berequired. Rather, in some embodiments, such features may be arranged ina different manner and/or order than shown in the illustrative figures.Additionally, the inclusion of a structural or method feature in aparticular figure is not meant to imply that such feature is required inall embodiments and, in some embodiments, may not be included or may becombined with other features.

Referring now to FIG. 1, in an illustrative embodiment, a system 100 forremotely controlling a computing device includes a wearable computingdevice 110 and a controlled computing device 140, which wirelesslycommunicate with each other. In some embodiments, the wearable computingdevice 110 may be embodied as a wrist-based computing device 110 such asthe one illustratively shown in FIG. 2. In such embodiments, thewrist-based computing device 110 may be worn on the wrist and/or forearmof the user. As such, the wrist-based computing device 110 may be in theshape of a bracelet, a wristwatch, or any other object including anaperture configured to receive the wrist, forearm, or any other portionof the user's body. In use, the user may interact with the wearablecomputing device 110 to control one or more aspects and/orcharacteristics of the controlled computing device 140. For example, insome embodiments, the user may move or otherwise reposition the wearablecomputing device 110 relative to a skin surface of the user's forearm200 and/or wrist. In such embodiments, the movement of the wearablecomputing device 110 may be translated into two-dimensional coordinates(e.g., ‘x’ and ‘y’ coordinates) that are transmitted to the controlledcomputing device 140. Additionally or alternatively, a user may interactwith one or more selection devices 124 (e.g., pressure switches,push-button switches, etc.) of the wearable computing device 110 togenerate selection commands (e.g., click, double-click, scroll, etc.)that are transmitted to the controlled computing device 140. In thatway, the wearable computing device 110 may be used to remotely and/orwirelessly control the movement, position, and/or selection of anynumber of objects, cursors, pointers, and/or features displayed orotherwise provided by the controlled computing device 140. As such, insome embodiments, the wearable computing device 110 may be used toreplace and/or augment the functionality of conventional computer inputdevices (e.g., mice, trackballs, etc.) connected to or otherwise incommunication with the controlled computing device 140. For example, insome embodiments, the wearable computing device 110 may be used in placeof a computer mouse to control the movement and/or position of a cursoror pointer displayed by the controlled computing device 140. It shouldbe appreciated that using the wearable computing device 110 towirelessly control one or more aspects and/or features (e.g., objects,cursors, pointers, etc.) of a separate computing device 140 (e.g., thecontrolled computing device 140) may be more convenient to the user thanusing a conventional computer input device.

Referring back to FIG. 1, the wearable computing device 110 (e.g., thewrist-based computing device 110 illustratively shown in FIG. 2) may beembodied as, or otherwise include, any type of computing deviceconfigured to be worn, or otherwise carried, by a user and capable ofperforming the functions described herein including, but not limited to,a wrist-based computing device, a smart watch, an optical head-mounteddisplay, a mobile computing device, a mobile phone, a smart phone, atablet computing device, a personal digital assistant, a consumerelectronic device, a laptop computing device, a desktop computer, and/orother type of computing device. The illustrative wearable computingdevice 110 includes a processor 112, a memory 114, an input/output (I/O)subsystem 116, communication circuitry 118, a data storage 120, anoptical sensor 122, and one or more selection devices 124. In someembodiments, the wearable computing device 110 may include other sensors126 (e.g., accelerometers, gyroscopes, temperature sensors, locationsensors, etc.), a display device 128, and/or one or more peripheraldevices 130. Of course, the wearable computing device 110 may includeother or additional components, such as those commonly found in acomputer (e.g., various input/output devices), in other embodiments.Additionally, in some embodiments, one or more of the illustrativecomponents may be incorporated in, or otherwise form a portion of,another component. For example, the memory 114, or portions thereof, maybe incorporated in the processor 112 in some embodiments.

The processor 112 may be embodied as any type of processor capable ofperforming the functions described herein. For example, the processor112 may be embodied as a single or multi-core processor(s), digitalsignal processor, microcontroller, or other processor orprocessing/controlling circuit. Similarly, the memory 114 may beembodied as any type of volatile or non-volatile memory or data storagecapable of performing the functions described herein. In operation, thememory 114 may store various data and software used during operation ofthe wearable computing device 110 such as operating systems,applications, programs, libraries, and drivers. The memory 114 iscommunicatively coupled to the processor 112 via the I/O subsystem 116,which may be embodied as circuitry and/or components to facilitateinput/output operations with the processor 112, the memory 114, andother components of the wearable computing device 110. For example, theI/O subsystem 116 may be embodied as, or otherwise include, memorycontroller hubs, input/output control hubs, firmware devices,communication links (i.e., point-to-point links, bus links, wires,cables, light guides, printed circuit board traces, etc.) and/or othercomponents and subsystems to facilitate the input/output operations. Insome embodiments, the I/O subsystem 116 may form a portion of asystem-on-a-chip (SoC) and be incorporated, along with the processor112, the memory 114, and other components of the wearable computingdevice 110, on a single integrated circuit chip.

The communication circuitry 118 of the wearable computing device 110 maybe embodied as any type of communication circuit, device, or collectionthereof, capable of enabling communications between the wearablecomputing device 110 and the controlled computing device 140, the mobilecomputing device 150, and/or other computing devices. The communicationcircuitry 118 may be configured to use any one or more communicationtechnologies (e.g., wireless or wired communications) and associatedprotocols (e.g., Ethernet, Wi-Fi®, WiMAX, etc.) to effect suchcommunication. For example, in some embodiments, the communicationcircuitry 118 may be embodied as contactless communication circuitrysuch as near-field communication (NFC) circuitry, Bluetooth®communication circuitry, radio-frequency identification (RFID), or anyother short-range communication circuitry for enabling wirelesscommunications between the wearable computing device 110 and thecontrolled computing device 140, the mobile computing device 150, and/orother computing devices. Additionally or alternatively, the wearablecomputing device 110 may be configured to communicate with thecontrolled computing device 140, the mobile computing device 150, and/orother computing devices over any number of various wired and/or wirelesscommunication networks. For example, in some embodiments, the wearablecomputing device 110 may communicate with the controlled computingdevice 140 and/or the mobile computing device 150 over a local areanetwork (LAN), a personal area network (PAN), a wide area network (WAN),a cellular network, and/or a publicly-accessible, global network such asthe Internet.

The data storage 120 may be embodied as any type of device or devicesconfigured for short-term or long-term storage of data such as, forexample, memory devices and circuits, memory cards, hard disk drives,solid-state drives, or other data storage devices. For example, the datastorage 120 may be configured to store one or more operating systems tobe initialized and/or executed by the wearable computing device 110. Insome embodiments, portions of the operating system(s) may be copied tothe memory 114 during operations for faster processing and/or any otherreason.

The optical sensor 122 may be embodied as any type of device or devicesconfigured to capture data indicative of a skin surface of a user'sforearm. In some embodiments, the optical sensor 122 may be configuredto detect movement of the wearable computing device 110 relative to theskin surface of a user. For example, as illustratively shown in FIGS. 2and 3, the optical sensor 122 may be configured to detect longitudinalmovement 210 and rotational movement 220 of the wearable computingdevice 110 relative to the skin surface of the user's forearm 200 and/orwrist. To do so, the optical sensor 122 may be positioned on an insidesurface of the wearable computing device 110 such that a portion of theskin surface of the user's forearm 200 and/or wrist is in a view 310 of,or otherwise detectable by, the optical sensor 122. In some embodiments,the optical sensor 122 may be embodied as a camera sensor (e.g., camera)configured to capture a plurality of images of the skin surface of theuser's forearm 200 and/or wrist. In such embodiments, the capturedimages may be analyzed to detect movement of the wearable computingdevice 110 relative to the skin surface of the user's forearm 200 and/orwrist. To facilitate capturing the images, the optical sensor 122 mayalso include one or more light-emitting diodes (LEDs) and/or laserdiodes (LDs) for illumination of the portion of the skin surface of theuser's forearm 200 and/or wrist. Additionally or alternatively, theoptical sensor 122 may be embodied as an optical sensor typically foundin an optical mouse and/or optical input device of a computing device.

In some embodiments, the wearable computing device 110 may include morethan one optical sensor 122 in order to increase the accuracy of thesensed data. In such embodiments, the sensor data detected by each ofthe optical sensors 122 may be fused, or otherwise aggregated, accordingto any suitable sensor fusing process (e.g., voting, root-mean-squareerror minimization, etc.). In doing so, finer grained movements of thewearable computing device 110 relative to the skin surface of the user'sforearm 200 and/or wrist may be detected.

Additionally or alternatively, referring back to FIG. 1, the sensor datacaptured by one or more of the optical sensors 122 may be fused withdata captured or otherwise obtained from any number of the other sensors126 (e.g., accelerometers, gyroscopes, temperature sensors, locationsensors, etc.) in order to increase the accuracy of the sensed data. Forexample, in some embodiments, the other sensors 126 of the wearablecomputing device 110 may be embodied as or otherwise include anaccelerometer and a gyroscope. In such embodiments, the accelerometermay be configured to sense linear movements of the wearable computingdevice 110 and the gyroscope may be configured to sense rotation of thewearable computing device 110. The data sensed from the accelerometerand the gyroscope (e.g., the other sensors 126) may be fused, combined,or otherwise aggregated, with the sensor data captured by the opticalsensor(s) 122 according to any suitable sensor fusing and/or combiningprocess (e.g., Kalman filters, machine learning algorithms such asdecision trees, a hidden Markov model for sequence determination, etc.).It should be appreciated that data captured by any other type of sensor(e.g., the other sensors 126) may be combined with the sensor datacaptured by the optical sensor(s) 122.

As discussed, the wearable computing device 110 may include a displaydevice 128 in some embodiments. In such embodiments, the display device128 may be embodied as any type of touch sensitive display devicecapable of performing the functions described herein. For example, thedisplay device 128 may be embodied as any type of touch sensitivedisplay device capable of displaying or receiving a selection of one ormore user-selectable icons and/or content (e.g., images, text,multimedia objects, etc.) by the user. As such, the display device 128may include, or otherwise use, any suitable touch sensitive displaytechnology including, for example, a liquid crystal display (LCD), alight emitting diode (LED) display, an organic light emitting diodedisplay (OLED) a cathode ray tube (CRT) display, a plasma display, anelectronic ink (e-ink) display, and/or other touch sensitive displayusable in an wearable computing device 110 to display user-selectableicons and/or information to the user of the wearable computing device110.

The controlled computing device 140 may be embodied as any type ofcomputing device capable of performing the functions described hereinincluding, but not limited to, a consumer electronic device, a laptopcomputing device, a desktop computer, a server, a smart television, asmart appliance, a mobile computing device, a mobile phone, a smartphone, a tablet computing device, a personal digital assistant, adigital picture frame, and/or other type of computing device. As such,the controlled computing device 140 may include devices and structurescommonly found in computing devices such as processors, memory devices,communication circuitry, and data storages, which are not shown in FIG.1 for clarity of the description. In some embodiments, the controlledcomputing device 140 receives control data from the wearable computingdevice 110 (e.g., the wrist-based computing device 110 illustrativelyshown in FIG. 2). The control data may be used by the controlledcomputing device 140 to control one or more aspects or functions of thecontrolled computing device 140. For example, in some embodiments, thereceived control data may be embodied as ‘x’ and ‘y’ coordinates used tocontrol movement of a cursor and/or pointer of the controlled computingdevice 140. Additionally or alternatively, in some embodiments, thereceived control data may be embodied as selection or command data usedto select one or more objects displayed by the controlled computingdevice 140 and/or instruct the computing device to perform a function.As such, it should be appreciated that the received control data may beused by the controlled computing device 140 as input data for movingand/or selecting any number of objects, cursors, pointers, and/orfeatures displayed by the controlled computing device 140.

In some embodiments, the system 100 may also include a mobile computingdevice 150, which may wirelessly communicate with the wearable computingdevice 110. The mobile computing device 150 may be embodied as any typeof computing device capable of performing the functions described hereinincluding, but not limited to, a mobile computing device, a mobilephone, a smart phone, a tablet computing device, a personal digitalassistant, a consumer electronic device, a laptop computing device, adesktop computer, a wrist-based computing device, a smart watch, anoptical head-mounted display, and/or other type of computing device. Assuch, the mobile computing device 150 may include devices and structurescommonly found in computing devices such as processors, memory devices,communication circuitry, and data storages, which are not shown in FIG.1 for clarity of the description. In some embodiments, the mobilecomputing device 150 may be configured to transmit data (e.g., contactinformation, email messages, text messages, social media posts, etc.) tobe displayed on the display device 128 of the wearable computing device110. Additionally or alternatively, the mobile computing device 150 maybe configured to receive data (e.g., sensor data, device statusinformation, battery level information, images, etc.) from the wearablecomputing device 110.

Referring now to FIG. 4, in use, the wearable computing device 110(e.g., the wrist-based computing device 110 illustratively shown in FIG.2) establishes an environment 400 during operation. The illustrativeenvironment 400 includes a communication module 402, an interactiondetection module 404, and a control determination module 406. In someembodiments, the control determination module 406 may include acoordinate generation module 408 and a command generation module 410.Each of the modules, logic, and other components of the environment 400may be embodied as hardware, software, firmware, or a combinationthereof. It should be appreciated that the wearable computing device 110may include other components, sub-components, modules, and devicescommonly found in a computing device, which are not illustrated in FIG.4 for clarity of the description.

The communication module 402 of the wearable computing device 110facilitates communications between components or sub-components of thewearable computing device 110 and the controlled computing device 140and/or the mobile computing device 150. For example, in someembodiments, the communication module 402 may facilitate transmittingcontrol data (e.g., coordinates, commands, selections, etc.) to thecontrolled computing device 140. In some embodiments, the communicationmodule 402 may also be configured to facilitate establishing ashort-range wireless communication channel (e.g., a NFC communicationchannel, a Bluetooth® communication channel, etc.) between the wearablecomputing device 110 and the controlled computing device 140. Forexample, the communication module 402 may be configured to exchangewireless connection information (e.g., identification data, media accesscontrol address, security credentials, etc.) with the controlledcomputing device 140 in response to the communication circuitry 118(e.g., NFC circuitry, Bluetooth® circuitry, RFID circuitry, etc.) of thewearable computing device 110 “touching” or being placed in proximity to(e.g., within a reference distance) corresponding communicationcircuitry of the controlled computing device 140. Additionally, in someembodiments, the communication module 402 facilitates datacommunications with the mobile computing device 150.

The interaction detection module 404 is configured to receive sensordata from the optical sensor 122. The received sensor data may beindicative of the skin surface of a user's forearm 200 and/or wrist. Forexample, in some embodiments, the received sensor data may include aplurality of images of the skin surface of the user's forearm 200 and/orwrist captured by the optical sensor 122. Additionally or alternatively,the received sensor data may be indicative of movement of the wearablecomputing device 110 relative to the skin surface of the user's forearm200 and/or wrist. For example, rotational movement of the wearablecomputing device 110 relative to the skin surface of the user's forearm200 and/or wrist may generate sensor data indicative of a point along a‘y-axis.’ In another example, longitudinal movement of the wearablecomputing device 110 relative to the skin surface of the user's forearm200 and/or wrist may generate sensor data indicative of a point along an‘x-axis.’

Additionally or alternatively, in some embodiments, the interactiondetection module 404 may be configured to receive sensor data from morethan one optical sensor 122 and/or any number of the other sensors 126(e.g., accelerometers, gyroscopes, temperature sensors, locationsensors, etc.). In such embodiments, the sensor data detected by each ofthe optical sensors 122 and/or the other sensors 126 may be fused,combined, or otherwise aggregated, according to any suitable sensorfusing and/or sensor combining process (e.g., voting, root-mean-squareerror minimization, Kalman filters, machine learning algorithms such asdecision trees, a hidden Markov model for sequence determination, etc.).In doing so, the accuracy of the sensed data may be improved.

In some embodiments, the interaction detection module 404 may also beconfigured to receive selection data from the selection device(s) 124 ofthe wearable computing device 110. The selection data may be indicativeof a signal generated by the selection device(s) 124 in response to theuser pressing or otherwise applying pressure to the selection device(s)124 (e.g., pressing a push-button, applying pressure to a piezoelectricor capacitive sensor, etc.). Additionally or alternatively, theselection data may be indicative of a signal generated by a componentand/or device of the wearable computing device 110 in response to theuser ‘squeezing’ a portion of the wearable computing device 110 (e.g.,applying pressure to two or more pressure-sensitive external surfaces orareas of the wearable computing device 110). In some embodiments, thereceived selection data may be indicative of one or more objects,cursors, pointers, and/or features displayed by the controlled computingdevice 140 that the user desires to select, move, or otherwise interactwith. Additionally or alternatively, the received selection data may beindicative of one or more functions the user desires the controlledcomputing device 140 to perform (e.g., authenticate user, power down,initialize, etc.).

The interaction detection module 404 may also be configured to determinewhether the user is interacting with the wearable computing device 110and/or whether a communication channel is established between thewearable computing device 110 and the controlled computing device 140.In some embodiments, the interaction detection module 404 may do so inorder to conserve power (e.g., a battery power source, etc.) of thewearable computing device 110. In use, the interaction detection module404 may monitor for data and/or signals generated by the communicationcircuitry 118, the optical sensor 122, the selection device(s) 124, andother sensor(s) 126 of the wearable computing device 110, if any. Forexample, in some embodiments, the interaction detection module 404 maymonitor for signals generated by the optical sensor 122 indicative of aposition of the wearable computing device 110, or a change in positionof the wearable computing device 110, relative to the skin surface ofthe user's forearm 200 and/or wrist. The interaction detection module404 may also monitor for signals indicative of the user's interactionwith the selection device(s) 124 and/or the wearable computing device110 itself (e.g., pressing a push-button, applying pressure to apiezoelectric sensor, applying pressure to an externalpressure-sensitive surface, etc.). For example, in some embodiments, theinteraction detection module 404 may monitor for one or more signalsgenerated in response to the user ‘squeezing’ a portion of the wearablecomputing device 110 (e.g., applying pressure to two or morepressure-sensitive external surfaces or portions of the wearablecomputing device 110.) Additionally or alternatively, in someembodiments, the interaction detection module 404 monitors forestablishment of wireless communications between the wearable computingdevice 110 and the controlled computing device 140. For example, in someembodiments, the wearable computing device 110 determines whether ashort-range wireless communication channel (e.g., a NFC communicationchannel, a Bluetooth® communication channel, etc.) has been establishedbetween the wearable computing device 110 and the controlled computingdevice 140.

The control determination module 406 is configured to generate controldata based on the received sensor data and/or selection data. Thegenerated control data may be embodied as input data configured to causethe controlled computing device 140 to move, select, and/or interactwith any number of objects, cursors, pointers, and/or features displayedor provided by the controlled computing device 140. Additionally oralternatively, in some embodiments, the generated control data may beembodied as a command configured to cause (e.g., instruct or otherwisecommand) the controlled computing device 140 to perform one or morefunctions in response (e.g., authenticate the user to the controlledcomputing device 140, power down the controlled computing device 140,initialize the controlled computing device 140, grab content from thecontrolled computing device 140, etc.). To do so, the controldetermination module 406 may include the coordinate generation module408 and the command generation module 410, in some embodiments.

The coordinate generation module 408 may be configured to generatetwo-dimensional coordinates (e.g., ‘x’ and ‘y’ coordinates) based on thesensor data received from the optical sensor 122. For example, in someembodiments, the coordinate generation module 408 may generate an ‘x’coordinate based on sensor data received from the optical sensor 122indicative of longitudinal movement of the wearable computing device 110relative to the skin surface of the user's forearm 200 and/or wrist. Thecoordinate generation module 408 may generate a ‘y’ coordinate based onsensor data received from the optical sensor 122 indicative ofrotational movement of the wearable computing device 110 relative to theskin surface of the user's forearm 200 and/or wrist. In embodimentswherein the sensor data received from the optical sensor 122 includes aplurality of images of the skin surface of the user's forearm 200 and/orwrist, the coordinate generation module 408 may analyze the plurality ofimages to detect differences indicative of movement of the wearablecomputing device 110 relative to the skin surface of the user's forearm200 and/or wrist.

It should be appreciated that the coordinate generation module 408 mayalso generate coordinates other than two-dimensional coordinates. Forexample, in some embodiments, the coordinate generation module 408 maygenerate three-dimensional coordinates (e.g., ‘x,’ ‘y,’ and ‘z’coordinates) or any other type of coordinate suitable for causing thecontrolled computing device 140 to move or reposition a displayedobject, cursor, pointer, and/or feature. In such embodiments, the ‘x’and ‘y’ coordinates may be generated by the sensor data received fromthe optical sensor(s) 122 whereas the ‘z’ coordinate may be generated bysensor data received from one of the other sensors 126. For example, insome embodiments, the coordinate generation module 408 may generate a‘z’ coordinate based on sensor data received from an accelerometer(e.g., one of the other sensors 126). In such embodiments, the sensordata received from the accelerometer may be indicative of one or morelinear movements of the wearable computing device 110 relative to theskin surface of the user's forearm 200 and/or wrist (e.g., moving theinside surface 300 of the wearable computing device 110 closer to orfurther from the skin surface of the user's forearm 200 and/or wrist).As discussed below, in some embodiments, the ‘z’ coordinate generated bythe coordinate generation module 408 may be used to generate a zoomingfunction (e.g., “zooming-in,” “zooming-out,” etc.) configured to beperformed on the display of the controlled computing device 140.

The command generation module 410 may be configured to generate aselection command based on the selection data received from the one ormore selection devices 124. For example, the command generation module410 may generate a selection command (e.g., click, double-click, scroll,etc.) based on receiving selection data indicative of the user pressingor otherwise applying pressure to the selection device(s) 124. In someembodiments, the command generation module 410 may be configured togenerate different selection commands based on the particular selectiondevice(s) 124 from which the selection data is received. For example,the command generation module 410 may generate one selection command(e.g., a single-click selection command) based on receiving selectiondata from one selection device 124 and a different selection command(e.g., a double-click selection command) based on receiving selectiondata from a different selection device 124. Additionally oralternatively, the command generation module 410 may generate differentselection commands based on multiple selection data received from asingle selection device 124. For example, in embodiments wherein theselection device 124 include a pressure-sensitive sensor, the commandgeneration module 410 may generate one selection command (e.g., asingle-click selection command) based on receiving selection dataindicative of the user applying partial pressure to the selection device124 and a different selection command (e.g., a double-click selectioncommand) based on receiving selection data indicative of the userapplying full pressure to the selection device 124. Additionally oralternatively, the command generation module 410 may generate similar oradditional selection commands based on selection or interaction datareceived from one or more pressure-sensitive external surfaces of thewearable computing device 110. For example, the command generationmodule 410 may generate a selection command (e.g., click, double-click,scroll, etc.) based on receiving selection data indicative of the user‘squeezing’ external portions of the wearable computing device 110(e.g., applying pressure to two or more pressure-sensitive externalsurfaces of the wearable computing device 110).

Additionally or alternatively, the command generation module 410 mayalso generate a command configured to cause (e.g., instruct) thecontrolled computing device 140 to perform one or more functions inresponse. For example, in some embodiments, the command generationmodule 410 may be configured to generate a content grab command based onthe selection data. In such embodiments, the content grab command may beconfigured to cause the controlled computing device 140 to copy orotherwise transmit an object, feature, and/or any other type of contentdisplayed or provided by the controlled computing device 140 to thewearable computing device 110. Additionally or alternatively, thecontent grab command may be configured to cause the controlled computingdevice 140 to copy or otherwise transmit an object, feature, and/or anyother type of content displayed or provided by the controlled computingdevice 140 to the mobile computing device 150 and/or any other computingdevice. In another example, the command generation module 410 may beconfigured to generate an authentication command based on the selectiondata and/or one or more gestures performed by the user via the wearablecomputing device 110. For example, in some embodiments, the commandgeneration module 410 may generate an authentication command thatincludes the user's authentication credentials in response todetermining that the user correctly performed a preconfigured gesturepattern (e.g., a reference gesture pattern). In such embodiments, thecontrolled computing device 140 may authenticate the user in response toreceiving the authentication command. As such, it should be appreciatedthat the physical gestures performed by the user via the wearablecomputing device 110 may be akin to a username, a password, and/or aphysical token (e.g., a textual username, a textual password, a PIN, asmartcard, etc.) corresponding to the user.

The command generation module 410 may also be configured to generate adisplay command based on sensor data received from the other sensor(s)126 and/or the selection data. For example, the command generationmodule 410 may generate a zoom command configured to cause a display ofthe controlled computing device 140 to be “zoomed-in” and/or“zoomed-out.” As discussed, in some embodiments, the wearable computingdevice 110 may include an accelerometer (e.g., one of the other sensors126) configured to sense linear movement of the wearable computingdevice 110 relative to the skin surface of the user's forearm 200 and/orwrist (e.g., moving the inside surface 300 of the wearable computingdevice 110 closer to or further from the skin surface of the user'sforearm 200 and/or wrist). In such embodiments, the coordinategeneration module 308 may generate a ‘z’ coordinate indicative of thesensed linear movement. In response to generation of a ‘z’ coordinateindicative of the wearable computing device 110 being moved closer tothe skin surface of the user's forearm 200 and/or wrist, the commandgeneration module 410 may be configured to generate a “zooming-in”command. Additionally or alternatively, in response to generation of a‘z’ coordinate indicative of the wearable computing device 110 beingmoved further from the skin surface of the user's forearm 200 and/orwrist, the command generation module 410 may be configured to generate a“zooming-out” command In some embodiments, the command generation module410 may be configured to generate a “zooming-in” and/or a “zooming-out”command in response to generation of a ‘z’ coordinate and selection ofone or more of the selection devices 124 by the user.

The control determination module 406 is also configured to transmit thegenerated control data, coordinates, and/or commands to the controlledcomputing device 140. As discussed, the generated control data,coordinates, and/or commands may be embodied as input data configured tocause the controlled computing device 140 to perform one or morefunctions and/or move, select, or interact with any number of objects,cursors, pointers, and/or features displayed or provided by thecontrolled computing device 140. In that way, the wearable computingdevice 110 may be used as an input device to the controlled computingdevice 140.

Referring now to FIG. 5, the wearable computing device 110 (e.g., thewrist-based computing device 110 illustratively shown in FIG. 2) mayexecute a method 500 for remotely controlling the controlled computingdevice 140. The method 500 begins with block 502 in which the wearablecomputing device 110 determines whether the user is interacting with thewearable computing device 110. To do so, the wearable computing device110 monitors for data and/or signals generated by the optical sensor122, the selection device(s) 124, and/or the other sensor(s) 126. Forexample, in some embodiments, the wearable computing device 110 monitorsfor signals generated by the optical sensor 122 indicative of a positionof the wearable computing device 110, or a change in position of thewearable computing device 110, relative to the skin surface of theuser's forearm 200 and/or wrist. The wearable computing device 110 mayalso monitor for signals indicative of the user's interaction with theselection device(s) 124 and/or the wearable computing device 110 itself(e.g., pressing a push-button, applying pressure to a piezoelectricsensor, applying pressure to one or more pressure sensitive externalsurfaces, etc.). For example, in some embodiments, the user may‘squeeze’ a portion of the wearable computing device 110 (e.g., applypressure to two or more pressure-sensitive external surfaces) togenerate a signal indicative of the user's interaction with the wearablecomputing device 110. Additionally or alternatively, in someembodiments, the wearable computing device 110 monitors forestablishment of wireless communications between the wearable computingdevice 110 and the controlled computing device 140. For example, in someembodiments, the wearable computing device 110 determines whether ashort-range wireless communication channel (e.g., a NFC communicationchannel, a Bluetooth® communication channel, etc.) has been establishedbetween the wearable computing device 110 and the controlled computingdevice 140. If, in block 502, the wearable computing device 110determines that the user is interacting with the wearable computingdevice 110 and/or that a wireless communication channel has beenestablished with the controlled computing device 140, the method 500advances to block 504. If, however, the wearable computing device 110determines instead that the user is not interacting with the wearablecomputing device 110 and/or that a wireless communication channel hasnot been established with the controlled computing device 140, themethod 500 loops back to block 502 to continue monitoring for userinteraction and/or communication channel establishment.

In block 504, the wearable computing device 110 receives sensor datafrom the optical sensor 122 of the wearable computing device 110. Insome embodiments, the received sensor data is indicative of the skinsurface of the user's forearm 200 and/or wrist. Additionally oralternatively, the received sensor data includes a plurality of imagesof the skin surface of the forearm 200 and/or wrist of the user capturedby the optical sensor 122. In some embodiments, the received sensor datais indicative of movement of the wearable computing device 110 relativeto the skin surface of the user's forearm 200 and/or wrist. For example,rotational movement of the wearable computing device 110 relative to theskin surface of the user's forearm 200 and/or wrist may generate sensordata indicative of a point along a ‘y-axis.’ In another example,longitudinal movement of the wearable computing device 110 relative tothe skin surface of the user's forearm 200 and/or wrist may generatesensor data indicative of a point along an ‘x-axis.’

Additionally or alternatively, in block 504, the wearable computingdevice 110 receives selection data from one or more of the selectiondevice(s) 124 of the wearable computing device 110. In some embodiments,the selection data is indicative of the user's interaction with theselection device(s) 124. For example, the selection data may beindicative of a signal generated by the selection device(s) 124 inresponse to the user pressing or otherwise applying pressure to theselection device(s) 124 (e.g., pressing a push-button, applying pressureto a piezoelectric sensor, etc.). In another example, the selection datamay be indicative of a signal generated by a component and/or device ofthe wearable computing device 110 in response to the user ‘squeezing’ aportion of the wearable computing device 110 (e.g., applying pressure totwo or more pressure-sensitive external surfaces of the wearablecomputing device 110).

In block 506, the wearable computing device 110 generates control databased on the received sensor data and/or selection data. The generatedcontrol data may be embodied as input data configured to cause thecontrolled computing device 140 to move or reposition any number ofobjects, cursors, pointers, and/or features displayed by the controlledcomputing device 140. For example, in block 508, the wearable computingdevice 110, may generate two-dimensional coordinates (e.g., ‘x’ and ‘y’coordinates) based on the sensor data received from the optical sensor122. It should be appreciated that the wearable computing device 110 mayalso generate coordinates other than two-dimensional coordinates. Forexample, in some embodiments, the wearable computing device 110 maygenerate three-dimensional coordinates (e.g., ‘x,’ ‘y,’ and ‘z’coordinates) or any other type of coordinate suitable for causing thecontrolled computing device 140 to move or reposition a displayedobject, cursor, pointer, and/or feature.

Additionally or alternatively, the generated control data may beembodied as input data configured to cause (e.g., instruct or otherwisecommand) the computing device to perform one or more functions (e.g.,user authenticate, power down, initialize, etc.) and/or select anynumber of objects, cursors, pointers, and/or features displayed by thecontrolled computing device 140. In some embodiments, in block 510, thewearable computing device 110 may generate a command based on theselection data received from the one or more selection devices 124. Forexample, the wearable computing device 110 may generate a selectioncommand (e.g., click, double-click, scroll, etc.) based on receivingselection data indicative of the user pressing or otherwise applying anamount of pressure to the selection device(s) 124 (e.g., pressing apush-button, applying pressure to a piezoelectric sensor, etc.). Itshould be appreciated that different selection device(s) 124 of thewearable computing device 110 may be associated with a differentselection commands. For example, in some embodiments, one selectiondevice 124 may be associated with a single-click selection command. Adifferent selection device 124 may be associated with a double-clickselection command. The same selection device 124 may also be associatedwith more than one selection commands. For example, in some embodiments,application of full pressure to a pressure-sensitive selection device124 may be associated with a double-click selection command, whereasapplication of partial pressure (e.g., less than full pressure) to thepressure-sensitive selection device 124 may be associated with asingle-click selection command. Additionally or alternatively, thewearable computing device 110 may generate similar or additionalselection commands based on selection or interaction data received fromone or more pressure-sensitive external surfaces of the wearablecomputing device 110. For example, the wearable computing device 110 maygenerate a selection command (e.g., click, double-click, scroll, etc.)based on receiving selection data indicative of the user ‘squeezing’external portions of the wearable computing device 110 (e.g., applyingpressure to two or more pressure-sensitive external surfaces). It shouldbe appreciated that, in some embodiments, the selection commandsgenerated in response to the user interacting with the selectiondevice(s) 124 and/or ‘squeezing’ external surfaces of the wearablecomputing device 110 may be different from the control data generated inresponse to the user moving the wearable computing device 110longitudinally, rotationally, and/or linearly relative to the skinsurface of the user's forearm 200 and/or wrist.

In block 512, the wearable computing device 110 transmits the generatedcontrol data to the controlled computing device 140. In embodimentswherein coordinates and/or commands are generated from the control data,the coordinates and/or commands are transmitted to the controlledcomputing device 140. As discussed, the transmitted control commands maybe utilized by the controlled computing device 140 to cause a functionto be performed and/or one or more objects, cursors, pointers, and/orfeatures of the controlled computing device 140 to be interacted with,moved, and/or selected. In that way, the wearable computing device 110may be used as an input device to the controlled computing device 140.

EXAMPLES

Illustrative examples of the technologies disclosed herein are providedbelow. An embodiment of the technologies may include any one or more,and any combination of, the examples described below.

Example 1 includes a wearable computing device to control a separatecomputing device, the wearable computing device including an interactiondetection module to receive sensor data from an optical sensor of thewearable computing device, wherein the sensor data includes dataindicative of a skin surface of a forearm of a user of the wearablecomputing device; and a control determination module to (i) generatecontrol data based on the received sensor data and (ii) transmit thegenerated control data to the separate computing device.

Example 2 includes the subject matter of Example 1, and wherein thereceived sensor data includes a plurality of images of the skin surfaceof the forearm of the user captured by the optical sensor.

Example 3 includes the subject matter of any of Examples 1 and 2, andwherein to generate the control data includes to generate coordinatesbased on the received sensor data; and wherein to transmit the generatedcontrol data includes to transmit the generated coordinates to theseparate computing device.

Example 4 includes the subject matter of any of Examples 1-3, andwherein the interaction detection module further to detect interactionwith the wearable computing device by the user.

Example 5 includes the subject matter of any of Examples 1-4, andwherein to detect interaction with the wearable computing deviceincludes to detect movement of the wearable computing device relative tothe skin surface of the forearm of the user.

Example 6 includes the subject matter of any of Examples 1-5, andwherein to generate the control data includes to (i) generate anx-coordinate based on detection of longitudinal movement of the wearablecomputing device relative to the skin surface of the forearm of the userand (ii) generate a y-coordinate based on detection of rotationalmovement of the wearable computing device relative to the skin surfaceof the forearm of the user; and wherein to transmit the generatedcontrol data includes to transmit the generated x-coordinate andy-coordinate to the separate computing device.

Example 7 includes the subject matter of any of Examples 1-6, andwherein the sensor data received from the optical sensor includes firstsensor data; wherein the interaction detection module further to receivesecond sensor data from another sensor of the wearable computing device;wherein to generate the control data includes to (i) generate anx-coordinate from the first sensor data based on detection oflongitudinal movement of the wearable computing device relative to theskin surface of the forearm of the user, (ii) generate a y-coordinatefrom the first sensor data based on detection of rotational movement ofthe wearable computing device relative to the skin surface of theforearm of the user, and (iii) generate a z-coordinate from the secondsensor data based on detection of linear movement of the wearablecomputing device relative to the skin surface of the forearm of theuser; and wherein to transmit the generated control data includes totransmit the generated x-coordinate, y-coordinate, and z-coordinate tothe separate computing device.

Example 8 includes the subject matter of any of Examples 1-7, andwherein the interaction detection module further to receive selectiondata from a selection device of the wearable computing device; andwherein the control determination module further to: (i) generate atleast one of (a) a zoom-in command based on a first z-coordinateindicative of linear movement of the wearable computing device closer tothe skin surface of the forearm of the user or (b) a zoom-out commandbased on a second z-coordinate indicative of linear movement of thewearable computing device away from the skin surface of the forearm ofthe user and selection data received from a selection device of thewearable computing device, and (ii) transmit the generated zoom-in orzoom-out command to the separate computing device.

Example 9 includes the subject matter of any of Examples 1-8, andwherein the interaction detection module further to receive selectiondata from a selection device of the wearable computing device; andwherein the control determination module further to (i) generate acommand based on the received selection data and (ii) transmit thegenerated command to the separate computing device.

Example 10 includes the subject matter of any of Examples 1-9, andwherein to generate the command includes to generate an object selectioncommand for selection of an object displayed by the separate computingdevice.

Example 11 includes the subject matter of any of Examples 1-10, andwherein to generate the command includes to generate an object grabcommand for selection and transfer of an object displayed by theseparate computing device.

Example 12 includes the subject matter of any of Examples 1-11, andwherein to generate the command includes to generate an authenticationcommand for authentication of the user to the separate computing device.

Example 13 includes the subject matter of any of Examples 1-12, andwherein the selection device includes a piezoelectric sensor or apush-button.

Example 14 includes the subject matter of any of Examples 1-13, andwherein the wearable computing device includes a wrist-based wearablecomputing device.

Example 15 includes a method for controlling a separate computingdevice, the method including receiving, by a wearable computing device,sensor data from an optical sensor of the wearable computing device,wherein the sensor data includes data indicative of a skin surface of aforearm of a user of the wearable computing device; generating, by thewearable computing device, control data based on the received sensordata; and transmitting, by the wearable computing device, the generatedcontrol data to the separate computing device.

Example 16 includes the subject matter of Example 15, and wherein thereceived sensor data includes a plurality of images of the skin surfaceof the forearm of the user captured by the optical sensor.

Example 17 includes the subject matter of any of Examples 15 and 16, andwherein generating the control data includes generating coordinatesbased on the received sensor data; and wherein transmitting thegenerated control data includes transmitting the generated coordinatesto the separate computing device.

Example 18 includes the subject matter of any of Examples 15-17, andfurther including detecting, by the wearable computing device,interaction with the wearable computing device by the user.

Example 19 includes the subject matter of any of Examples 15-18, andwherein detecting interaction with the wearable computing deviceincludes detecting movement of the wearable computing device relative tothe skin surface of the forearm of the user.

Example 20 includes the subject matter of any of Examples 15-19, andwherein generating the control data includes (i) generating anx-coordinate based on detection of longitudinal movement of the wearablecomputing device relative to the skin surface of the forearm of the userand (ii) generating a y-coordinate based on detection of rotationalmovement of the wearable computing device relative to the skin surfaceof the forearm of the user; and wherein transmitting the generatedcontrol data includes transmitting the generated x-coordinate andy-coordinate to the separate computing device.

Example 21 includes the subject matter of any of Examples 15-20, andwherein receiving the sensor data from the optical sensor includesreceiving first sensor data; and further including receiving, by thewearable computing device, second sensor data from another sensor of thewearable computing device; wherein generating the control data includes(i) generating an x-coordinate from the first sensor data based ondetection of longitudinal movement of the wearable computing devicerelative to the skin surface of the forearm of the user, (ii) generatinga y-coordinate from the first sensor data based on detection ofrotational movement of the wearable computing device relative to theskin surface of the forearm of the user, and (iii) generating az-coordinate from the second sensor data based on detection of linearmovement of the wearable computing device relative to the skin surfaceof the forearm of the user; and wherein transmitting the generatedcontrol data includes transmitting the generated x-coordinate,y-coordinate, and z-coordinate to the separate computing device.

Example 22 includes the subject matter of any of Examples 15-21, andfurther including receiving selection data from a selection device ofthe wearable computing device; generating at least one of (a) a zoom-incommand based on a first z-coordinate indicative of linear movement ofthe wearable computing device closer to the skin surface of the forearmof the user or (b) a zoom-out command based on a second z-coordinateindicative of linear movement of the wearable computing device away fromthe skin surface of the forearm of the user and selection data receivedfrom a selection device of the wearable computing device; andtransmitting the generated zoom-in or zoom-out command to the separatecomputing device.

Example 23 includes the subject matter of any of Examples 15-22, andfurther including receiving, by the wearable computing device, selectiondata from a selection device of the wearable computing device;generating, by the wearable computing device, a command based on thereceived selection data; and transmitting, by the wearable computingdevice, the generated command to the separate computing device.

Example 24 includes the subject matter of any of Examples 15-23, andwherein generating the command includes generating an object selectioncommand for selection of an object displayed by the separate computingdevice.

Example 25 includes the subject matter of any of Examples 15-24, andwherein generating the command includes generating an object grabcommand for selection and transfer of an object displayed by theseparate computing device.

Example 26 includes the subject matter of any of Examples 15-25, andwherein generating the command includes generating an authenticationcommand for authentication of the user to the separate computing device.

Example 27 includes the subject matter of any of Examples 15-26, andwherein the selection device includes a piezoelectric sensor or apush-button.

Example 28 includes the subject matter of any of Examples 15-27, andwherein the wearable computing device includes a wrist-based wearablecomputing device.

Example 29 includes a wearable computing device to control a separatecomputing device, the wearable computing device including a processor;and a memory having stored therein a plurality of instructions that whenexecuted by the processor cause the wearable computing device to performthe method of any of Examples 15-28.

Example 30 includes one or more machine-readable media including aplurality of instructions stored thereon that in response to beingexecuted result in a wearable computing device performing the method ofany of Examples 15-28.

Example 31 includes a wearable computing device to control a separatecomputing device, the wearable computing device including means forreceiving sensor data from an optical sensor of the wearable computingdevice, wherein the sensor data includes data indicative of a skinsurface of a forearm of a user of the wearable computing device; meansfor generating control data based on the received sensor data; and meansfor transmitting the generated control data to the separate computingdevice.

Example 32 includes the subject matter of Example 31, and wherein thereceived sensor data includes a plurality of images of the skin surfaceof the forearm of the user captured by the optical sensor.

Example 33 includes the subject matter of any of Examples 31 and 32, andwherein the means for generating the control data includes means forgenerating coordinates based on the received sensor data; and whereinthe means for transmitting the generated control data includes means fortransmitting the generated coordinates to the separate computing device.

Example 34 includes the subject matter of any of Examples 31-33, andfurther including means for detecting interaction with the wearablecomputing device by the user.

Example 35 includes the subject matter of any of Examples 31-34, andwherein the means for detecting interaction with the wearable computingdevice includes means for detecting movement of the wearable computingdevice relative to the skin surface of the forearm of the user.

Example 36 includes the subject matter of any of Examples 31-35, andwherein the means for generating the control data includes (i) means forgenerating an x-coordinate based on detection of longitudinal movementof the wearable computing device relative to the skin surface of theforearm of the user and (ii) means for generating a y-coordinate basedon detection of rotational movement of the wearable computing devicerelative to the skin surface of the forearm of the user; and wherein themeans for transmitting the generated control data includes means fortransmitting the generated x-coordinate and y-coordinate to the separatecomputing device.

Example 37 includes the subject matter of any of Examples 31-36, andwherein the means for receiving the sensor data from the optical sensorincludes means for receiving first sensor data; and further includingmeans for receiving second sensor data from another sensor of thewearable computing device; wherein the means for generating the controldata includes (i) means for generating an x-coordinate from the firstsensor data based on detection of longitudinal movement of the wearablecomputing device relative to the skin surface of the forearm of theuser, (ii) means for generating a y-coordinate from the first sensordata based on detection of rotational movement of the wearable computingdevice relative to the skin surface of the forearm of the user, and(iii) means for generating a z-coordinate from the second sensor databased on detection of linear movement of the wearable computing devicerelative to the skin surface of the forearm of the user; and wherein themeans for transmitting the generated control data includes means fortransmitting the generated x-coordinate, y-coordinate, and z-coordinateto the separate computing device.

Example 38 includes the subject matter of any of Examples 31-37, andfurther including means for receiving selection data from a selectiondevice of the wearable computing device; means for generating at leastone of (a) a zoom-in command based on a first z-coordinate indicative oflinear movement of the wearable computing device closer to the skinsurface of the forearm of the user or (b) a zoom-out command based on asecond z-coordinate indicative of linear movement of the wearablecomputing device away from the skin surface of the forearm of the userand selection data received from a selection device of the wearablecomputing device; and means for transmitting the generated zoom-in orzoom-out command to the separate computing device.

Example 39 includes the subject matter of any of Examples 31-38, andfurther including means for receiving selection data from a selectiondevice of the wearable computing device; means for generating a commandbased on the received selection data; and means for transmitting thegenerated command to the separate computing device.

Example 40 includes the subject matter of any of Examples 31-39, andwherein the means for generating the command includes means forgenerating an object selection command for selection of an objectdisplayed by the separate computing device.

Example 41 includes the subject matter of any of Examples 31-40, andwherein the means for generating the command includes means forgenerating an object grab command for selection and transfer of anobject displayed by the separate computing device.

Example 42 includes the subject matter of any of Examples 31-41, andwherein the means for generating the command includes means forgenerating an authentication command for authentication of the user tothe separate computing device.

Example 43 includes the subject matter of any of Examples 31-42, andwherein the selection device includes a piezoelectric sensor or apush-button.

Example 44 includes the subject matter of any of Examples 31-43, andwherein the wearable computing device includes a wrist-based wearablecomputing device.

The invention claimed is:
 1. A wearable computing device to control aseparate computing device, the wearable computing device comprising: afirst sensor to produce first sensor data indicative of a skin surfaceof a forearm of a user of the wearable computing device, wherein thefirst sensor data is indicative of (i) an amount of longitudinalmovement of the wearable computing device relative to the skin surfaceof the forearm of the user and (ii) an amount of rotational movement ofthe wearable computing device relative to the skin surface of theforearm of the user; a second sensor, different from the first sensor,to produce second sensor data indicative of an amount of linear movementof the wearable computing device toward or away from the skin surface ofthe forearm of the user; and a control determination module to (i)generate control data based on the first and second sensor data, whereinthe control data includes first coordinate data based on the amount oflongitudinal movement, second coordinate data based on amount ofrotational movement, and third coordinate data based on amount of linearmovement and (ii) transmit the generated control data to the separatecomputing device.
 2. The wearable computing device of claim 1, whereinthe first sensor data comprises a plurality of images of the skinsurface of the forearm of the user captured by the first sensor.
 3. Thewearable computing device of claim 1, wherein the interaction detectionmodule further to detect interaction with the wearable computing deviceby the user.
 4. The wearable computing device of claim 3, wherein todetect interaction with the wearable computing device comprises todetect movement of the wearable computing device relative to the skinsurface of the forearm of the user.
 5. The wearable computing device ofclaim 4, wherein to generate the control data comprises to (i) generatean x-coordinate based on detection of longitudinal movement of thewearable computing device relative to the skin surface of the forearm ofthe user and (ii) generate a y-coordinate based on detection ofrotational movement of the wearable computing device relative to theskin surface of the forearm of the user; and wherein to transmit thegenerated control data comprises to transmit the generated x-coordinateand y-coordinate to the separate computing device.
 6. The wearablecomputing device of claim 4, wherein to generate the control datacomprises to (i) generate an x-coordinate from the first sensor databased on detection of longitudinal movement of the wearable computingdevice relative to the skin surface of the forearm of the user, (ii)generate a y-coordinate from the first sensor data based on detection ofrotational movement of the wearable computing device relative to theskin surface of the forearm of the user, and (iii) generate az-coordinate from the second sensor data based on detection of linearmovement of the wearable computing device relative to the skin surfaceof the forearm of the user; and wherein to transmit the generatedcontrol data comprises to transmit the generated x-coordinate,y-coordinate, and z-coordinate to the separate computing device.
 7. Thewearable computing device of claim 6, wherein the interaction detectionmodule further to receive selection data from a selection device of thewearable computing device; and wherein the control determination modulefurther to: (i) generate at least one of (a) a zoom-in command based ona first z-coordinate indicative of linear movement of the wearablecomputing device closer to the skin surface of the forearm of the useror (b) a zoom-out command based on a second z-coordinate indicative oflinear movement of the wearable computing device away from the skinsurface of the forearm of the user and selection data received from aselection device of the wearable computing device, and (ii) transmit thegenerated zoom-in or zoom-out command to the separate computing device.8. The wearable computing device of claim 1, wherein the interactiondetection module further to receive selection data from a selectiondevice of the wearable computing device; and wherein the controldetermination module further to (i) generate a command based on thereceived selection data and (ii) transmit the generated command to theseparate computing device.
 9. The wearable computing device of claim 8,wherein to generate the command comprises to generate at least one of(i) an object selection command for selection of an object displayed bythe separate computing device, (ii) an object grab command for selectionand transfer of an object displayed by the separate computing device, or(iii) an authentication command for authentication of the user to theseparate computing device.
 10. The wearable computing device of claim 8,wherein the selection device comprises a piezoelectric sensor or apush-button.
 11. The wearable computing device of claim 1, wherein thewearable computing device comprises a wrist-based wearable computingdevice.
 12. One or more non-transitory, machine-readable mediacomprising a plurality of instructions stored thereon that in responseto being executed by a wearable computing device, cause the wearablecomputing device to: receive first sensor data from a first sensor ofthe wearable computing device, wherein the first sensor data isindicative of (i) an amount of longitudinal movement of the wearablecomputing device relative to the skin surface of the forearm of the userand (ii) an amount of rotational movement of the wearable computingdevice relative to the skin surface of the forearm of the user; receivesecond sensor data from a second sensor of the wearable computing devicedifferent from the first sensor, wherein the second sensor data isindicative of an amount of linear movement of the wearable computingdevice toward or away from the skin surface of the forearm of the user;and generate control data based on the first and second sensor data,wherein the control data includes first coordinate data based on theamount of longitudinal movement, second coordinate data based on amountof rotational movement, and third coordinate data based on amount oflinear movement; and transmit the generated control data to a separatecomputing device.
 13. The one or more non-transitory, machine-readablemedia of claim 12, wherein the first sensor data comprises a pluralityof images of the skin surface of the forearm of the user captured by thefirst sensor.
 14. The one or more non-transitory, machine-readable mediaof claim 12, wherein the plurality of instructions further cause thewearable computing device to detect interaction with the wearablecomputing device by the user.
 15. The one or more non-transitory,machine-readable media of claim 14, wherein to detect interaction withthe wearable computing device comprises to detect movement of thewearable computing device relative to the skin surface of the forearm ofthe user.
 16. The one or more non-transitory, machine-readable media ofclaim 15, wherein to generate the control data comprises to (i) generatean x-coordinate based on detection of longitudinal movement of thewearable computing device relative to the skin surface of the forearm ofthe user and (ii) generate a y-coordinate based on detection ofrotational movement of the wearable computing device relative to theskin surface of the forearm of the user; and wherein to transmit thegenerated control data comprises to transmit the generated x-coordinateand y-coordinate to the separate computing device.
 17. The one or morenon-transitory, machine-readable media of claim 15, wherein to generatethe control data comprises to (i) generate an x-coordinate from thefirst sensor data based on detection of longitudinal movement of thewearable computing device relative to the skin surface of the forearm ofthe user, (ii) generate a y-coordinate from the first sensor data basedon detection of rotational movement of the wearable computing devicerelative to the skin surface of the forearm of the user, and (iii)generate a z-coordinate from the second sensor data based on detectionof linear movement of the wearable computing device relative to the skinsurface of the forearm of the user; and wherein to transmit thegenerated control data comprises to transmit the generated x-coordinate,y-coordinate, and z-coordinate to the separate computing device.
 18. Theone or more non-transitory, machine-readable media of claim 17, whereinthe plurality of instructions further cause the wearable computingdevice to: receive selection data from a selection device of thewearable computing device; generate at least one of (a) a zoom-incommand based on a first z-coordinate indicative of linear movement ofthe wearable computing device closer to the skin surface of the forearmof the user or (b) a zoom-out command based on a second z-coordinateindicative of linear movement of the wearable computing device away fromthe skin surface of the forearm of the user and selection data receivedfrom a selection device of the wearable computing device; and transmitthe generated zoom-in or zoom-out command to the separate computingdevice.
 19. The one or more non-transitory, machine-readable media ofclaim 12, wherein the plurality of instructions further cause thewearable computing device to: receive selection data from a selectiondevice of the wearable computing device; generate a command based on thereceived selection data; and transmit the generated command to theseparate computing device.
 20. The one or more non-transitory,machine-readable media of claim 19, wherein to generate the commandcomprises to generate at least one of (i) an object selection commandfor selection of an object displayed by the separate computing device,(ii) an object grab command for selection and transfer of an objectdisplayed by the separate computing device, or (iii) an authenticationcommand for authentication of the user to the separate computing device.21. A method for controlling a separate computing device, the methodcomprising: producing, by a first sensor of a wearable computing device,first sensor data indicative of (i) an amount of longitudinal movementof the wearable computing device relative to the skin surface of theforearm of the user and (ii) an amount of rotational movement of thewearable computing device relative to the skin surface of the forearm ofthe user; producing, by a second sensor different from the first sensor,second sensor data indicative of an amount of linear movement of thewearable computing device toward or away from the skin surface of theforearm of the user; and generating, by the wearable computing device,control data based on the first and second sensor data, wherein thecontrol data includes first coordinate data based on the amount oflongitudinal movement, second coordinate data based on amount ofrotational movement, and third coordinate data based on amount of linearmovement; and transmitting, by the wearable computing device, thegenerated control data to the separate computing device.
 22. The methodof claim 21, further comprising: detecting, by the wearable computingdevice, movement of the wearable computing device relative to the skinsurface of the forearm of the user; wherein generating the control datacomprises (i) generating an x-coordinate based on detection oflongitudinal movement of the wearable computing device relative to theskin surface of the forearm of the user and (ii) generating ay-coordinate based on detection of rotational movement of the wearablecomputing device relative to the skin surface of the forearm of theuser; and wherein transmitting the generated control data comprisestransmitting the generated x-coordinate and y-coordinate to the separatecomputing device.
 23. The method of claim 21, further comprising:receiving, by the wearable computing device, selection data from aselection device of the wearable computing device; generating, by thewearable computing device, a command based on the received selectiondata; and transmitting, by the wearable computing device, the generatedcommand to the separate computing device.